This disclosure relates generally to business applications, and more particularly to systems and methods for debugging model-oriented business applications.
Many modern business applications, such as Enterprise Service Oriented Applications (ESOA) provided by SAP AG of Walldorf, Germany, or SAP's Notification and Eventing Engine, use abstract modeling as a development language to define “real” business processes or even business applications. This kind of abstraction is a very flexible and effective adaptation of business processes, and provides a business expert (e.g. business analyst) a code-free development platform to construct business processes and/or business application programs. In practice, the business expert builds a model of an application, which is then translated by the modeling infrastructure to application or machine code of a particular programming language (e.g. Java, C#, C++, etc.).
As an example and as depicted in FIG. 1, a model-oriented development environment includes a modeling tool 102 such as the SAP modeling infrastructure (MOIN) that generates Java code based on models and meta-models that are stored in a meta-object facility (MOF). A business expert uses a graphical editor of the modeling tool 102, such as SAP's NWDS Graphic Framework-based tools, to define the models and meta-models and store them in SAP modeling infrastructure. Subsequently, a MOIN Java generator 104 generates appropriate Java classes 106 from the models or meta-models. The Java classes can then be loaded as machine code 108 and eventually executed by a Java Virtual Machine (JVM) 110.
Problems or “bugs” in the program can occasionally arise, which are typically discovered and addressed by a debugger 112. However, current debuggers are limited only to debugging of the application code binary or source classes, as illustrated in FIG. 1, and not the models and/or meta-models on which the application is based. A way to debug running applications using the models and/or meta-models is needed.